Skip to content

feat(ui): per-URL heartbeat toggle, navigation visibility settings, host grouping - #613

Merged
Starosdev merged 36 commits into
masterfrom
develop
Jun 18, 2026
Merged

Starosdev merged 36 commits into
masterfrom
develop

Conversation

@Starosdev

Copy link
Copy Markdown
Owner

Summary

  • Heartbeat per-URL filter (SCR-521): add heartbeat_enabled field to notify URLs, expose/update via API, filter heartbeat pings by it, with per-URL toggle in UI; return 404 when toggling a non-existent URL
  • Navigation visibility settings: add settings to show/hide ZFS, MDADM, Btrfs, and Workload nav items
  • Host grouping: group MDADM and Workload pages by host
  • Contextual help links: docs links across settings and Consumer Drive Profiles hint
  • Mobile fixes: prettier formatting + ScrutinyConfigService mock for mobile-tab-bar spec
  • DB: simplify migration func to satisfy unlambda linter
  • Deps: dependabot bumps (shoutrrr, gormigrate, ng-apexcharts, eslint-plugin-prettier, angular-eslint/schematics, dev-dependencies)

Linked Issues

Closes #492
Closes #579
Closes #588

Test plan

  • CI green on develop (latest push success)
  • Frontend + backend test suites pass in CI
  • Heartbeat toggle verified per-URL

dependabot Bot and others added 30 commits May 18, 2026 03:08
Bumps [@angular-eslint/schematics](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/schematics) from 21.3.1 to 21.4.0.
- [Release notes](https://github.com/angular-eslint/angular-eslint/releases)
- [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/schematics/CHANGELOG.md)
- [Commits](https://github.com/angular-eslint/angular-eslint/commits/v21.4.0/packages/schematics)

---
updated-dependencies:
- dependency-name: "@angular-eslint/schematics"
  dependency-version: 21.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [ng-apexcharts](https://github.com/apexcharts/ng-apexcharts) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/apexcharts/ng-apexcharts/releases)
- [Changelog](https://github.com/apexcharts/ng-apexcharts/blob/master/CHANGELOG.md)
- [Commits](https://github.com/apexcharts/ng-apexcharts/commits/v2.4.0)

---
updated-dependencies:
- dependency-name: ng-apexcharts
  dependency-version: 2.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 4.2.5 to 5.5.5.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md)
- [Commits](prettier/eslint-plugin-prettier@v4.2.5...v5.5.5)

---
updated-dependencies:
- dependency-name: eslint-plugin-prettier
  dependency-version: 5.5.5
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [github.com/go-gormigrate/gormigrate/v2](https://github.com/go-gormigrate/gormigrate) from 2.1.5 to 2.1.6.
- [Release notes](https://github.com/go-gormigrate/gormigrate/releases)
- [Changelog](https://github.com/go-gormigrate/gormigrate/blob/master/CHANGELOG.md)
- [Commits](go-gormigrate/gormigrate@v2.1.5...v2.1.6)

---
updated-dependencies:
- dependency-name: github.com/go-gormigrate/gormigrate/v2
  dependency-version: 2.1.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [github.com/nicholas-fedor/shoutrrr](https://github.com/nicholas-fedor/shoutrrr) from 0.14.3 to 0.16.0.
- [Release notes](https://github.com/nicholas-fedor/shoutrrr/releases)
- [Changelog](https://github.com/nicholas-fedor/shoutrrr/blob/main/CHANGELOG.md)
- [Commits](nicholas-fedor/shoutrrr@v0.14.3...v0.16.0)

---
updated-dependencies:
- dependency-name: github.com/nicholas-fedor/shoutrrr
  dependency-version: 0.16.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
…3 updates

Bumps the dev-dependencies group with 3 updates in the /webapp/frontend directory: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin), [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) and [apexcharts](https://github.com/apexcharts/apexcharts.js).


Updates `@typescript-eslint/eslint-plugin` from 8.59.2 to 8.60.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.1/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.59.2 to 8.60.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.1/packages/parser)

Updates `apexcharts` from 5.11.0 to 5.14.0
- [Release notes](https://github.com/apexcharts/apexcharts.js/releases)
- [Commits](apexcharts/apexcharts.js@v5.11.0...v5.14.0)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.60.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.60.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: apexcharts
  dependency-version: 5.14.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Add heartbeatEnabled to NotifyUrlEntry interface, update NotifyUrlService
to map heartbeat_enabled from the API and send it on create/PATCH, and
surface a mat-slide-toggle in the notify-URLs table and add-URL form.
Add HelpLinkIconComponent — a standalone icon-button anchor — and wire it into
the Notification Channels expansion panel title. Also add an inline "Learn more"
link to the Consumer Drive Profiles field hint pointing to CONSUMER_DRIVE_PROFILES.md.
…orkload (#588)

Adds four boolean settings (navigation.show_zfs_pools, show_mdadm, show_btrfs,
show_workload) to hide unused nav links. Configurable via settings UI, scrutiny.yaml,
or env vars (SCRUTINY_WEB_NAVIGATION_SHOW_*). Defaults to true (all visible).
MDADM arrays and Workload devices now render in sections grouped by
host_id, matching the existing ZFS Pools and SMART dashboard pattern.

- Add host_id field to MDADM array across the full stack: collector
  model, backend DB model (migration m20260610000000), registration
  handler, summary API response, and frontend TS model
- Populate host_id from collector config host.id during array detection
- MDADM component builds hostGroups map and renders per-host card grids
  with h3 host headers; header hidden when host_id is empty
- Workload component builds per-host MatTableDataSource instances,
  wires @ViewChildren(MatSort) per group; both desktop table and mobile
  card views render host sections
…github.com/go-gormigrate/gormigrate/v2-2.1.6

chore(deps): bump github.com/go-gormigrate/gormigrate/v2 from 2.1.5 to 2.1.6
…github.com/nicholas-fedor/shoutrrr-0.16.0

chore(deps): bump github.com/nicholas-fedor/shoutrrr from 0.14.3 to 0.16.0
…/frontend/develop/angular-eslint/schematics-21.4.0

chore(deps): bump @angular-eslint/schematics from 21.3.1 to 21.4.0 in /webapp/frontend
…/frontend/develop/ng-apexcharts-2.4.0

chore(deps): bump ng-apexcharts from 2.3.0 to 2.4.0 in /webapp/frontend
…/frontend/develop/eslint-plugin-prettier-5.5.5

chore(deps): bump eslint-plugin-prettier from 4.2.5 to 5.5.5 in /webapp/frontend
…/frontend/develop/dev-dependencies-72597602f0

chore(deps): bump the dev-dependencies group across 1 directory with 3 updates
@Starosdev Starosdev added the enhancement New feature or request label Jun 18, 2026
- Pointer receiver for AtaSmartSelfTestLog.Entries (128B value)
- Pointer device param for syncDeviceSelfTests/deviceSelfTestIdentity (432B)
- Reorder DeviceSelfTest and self-test log structs for field alignment
@Starosdev
Starosdev merged commit 1c4628a into master Jun 18, 2026
22 checks passed
Starosdev pushed a commit that referenced this pull request Jun 18, 2026
## [1.64.0](v1.63.0...v1.64.0) (2026-06-18)

### Features

* **ui:** per-URL heartbeat toggle, navigation visibility settings, host grouping ([#613](#613)) ([1c4628a](1c4628a)), closes [#492](#492) [#579](#579) [#588](#588)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

1 participant